perm filename PATTER.LSP[F77,JMC]2 blob sn#318042 filedate 1977-11-20 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00003 00003	(DEFUN
C00004 ENDMK
CāŠ—;

(DEFUN INST1 (PAT EXPR A) (COND ((EQ A 'NO) 'NO)
((ISVAR PAT) ((LAMBDA (Z) (COND ((NULL Z) (CONS (CONS PAT EXPR) A))
((EQ (CDR Z) EXPR) A) (T 'NO))) (ASSOC PAT A)))
((ATOM PAT) (COND ((EQ PAT EXPR) A) (T 'NO)))
((ATOM EXPR) 'NO)
(T (INST1 (CDR PAT) (CDR EXPR) (INST1 (CAR PAT) (CAR EXPR) A)))))

(DEFUN ISVAR (X) (MEMBER X '(X X0 X1 X2 Y Y0 Y1 Y2 Z Z0 Z1 Z2 U U0 U1 U2
V V0 V1 V2 W W0 W1 W2)))
(DEFUN
 SOLS
 (E A R U)
 (COND
  ((ATOM E)
   (COND
    ((ISVAR E)
     ((LAMBDA
       (W)
       (COND
        ((NULL W) (CONS (CONS E R) U))
        (T U)))
      (ASSOC E U)))
    (T U)))
  ((EQ (CAR E) 'QUOTE) (COND ((EQ (CADR E) R) (CONS (CONS E R) U)) (T U)))
  ((EQ (CAR E) 'CONS) (COND ((ATOM R) U) (T (SOLS (CADDR E)